import request from '@/utils/request';
import qs from 'qs';
import type { PageResult, ResponseData } from '../typing';
// 参数接口
export interface GetOrderParamPage_1Params {
    /*当前第几页(默认1) */
    current?: number;
    /*每页条数(默认20) */
    size?: number;
    /*参数名 */
    name?: string;
    /* */
    page?: {
        /* */
        records?: {
            /* */
            createTime?: string;
            /* */
            updateTime?: string;
            /* */
            creator?: Record<string, unknown>;
            /* */
            updater?: Record<string, unknown>;
            /*主键 */
            id?: Record<string, unknown>;
            /*参数名 */
            name?: string;
            /*参数名 */
            paramKey?: string;
            /*参数值，type=0时使用当前字段 */
            value?: string;
            /*管理后台 - 流程定义审批节点 */
            nodes?: {
                /*角色ID */
                id: Record<string, unknown>;
                /*角色名称 */
                name: string;
            }[];
            /*备注 */
            remark?: string;
            /*分类状态，0禁用，1启用 */
            status?: Record<string, unknown>;
            /*参数类型，0：输入框、1下拉选 */
            type?: Record<string, unknown>;
        }[];
        /* */
        total?: Record<string, unknown>;
        /* */
        size?: Record<string, unknown>;
        /* */
        current?: Record<string, unknown>;
        /* */
        orders?: {
            /* */
            column?: string;
            /* */
            asc?: boolean;
        }[];
        /* */
        optimizeCountSql?: boolean;
        /* */
        searchCount?: boolean;
        /* */
        optimizeJoinOfCountSql?: boolean;
        /* */
        maxLimit?: Record<string, unknown>;
        /* */
        countId?: string;
        /* */
        pages?: Record<string, unknown>;
    };
}
// 响应接口
export interface GetOrderParamPage_1Res {
    /* */
    code: number;
    /* */
    data: {
        /* */
        size: number;
        /* */
        total: number;
        /* */
        current: number;
        /* */
        records: {
            /* */
            createTime: Record<string, unknown>;
            /* */
            updateTime: Record<string, unknown>;
            /* */
            creator: number;
            /* */
            updater: number;
            /*主键 */
            id: number;
            /*参数名 */
            name: string;
            /*参数名 */
            paramKey: string;
            /*参数值，type=0时使用当前字段 */
            value: string;
            /*参数值，type=1时使用当前字段，下拉多选参数时使用，如果有值会优先保存当前值忽略value */
            nodes: {
                /*角色ID */
                id: number;
                /*角色名称 */
                name: string;
            }[];
            /*备注 */
            remark: string;
            /*分类状态，0禁用，1启用 */
            status: number;
            /*参数类型，0：输入框、1下拉选 */
            type: number;
        }[];
        /* */
        pages: number;
    };
    /* */
    msg: string;
}
/**
 * 获得参数配置分页
 * @param {object} params 管理后台 - 参数配置分页 Request VO
 * @param {number} params.current 当前第几页(默认1)
 * @param {number} params.size 每页条数(默认20)
 * @param {string} params.name 参数名
 * @param {object} params.page
 * @returns
 */
export function getOrderParamPage(params: GetOrderParamPage_1Params): Promise<GetOrderParamPage_1Res> {
    return request.post(`/yfwy/medical-caregiver-param/page`, params);
}
// 响应接口
export interface GetOrderParam_1Res {
    /* */
    code: number;
    /* */
    data: {
        /* */
        createTime: Record<string, unknown>;
        /* */
        updateTime: Record<string, unknown>;
        /* */
        creator: number;
        /* */
        updater: number;
        /*主键 */
        id: number;
        /*参数名 */
        name: string;
        /*参数名 */
        paramKey: string;
        /*参数值，type=0时使用当前字段 */
        value: string;
        /*参数值，type=1时使用当前字段，下拉多选参数时使用，如果有值会优先保存当前值忽略value */
        nodes: {
            /*角色ID */
            id: number;
            /*角色名称 */
            name: string;
        }[];
        /*备注 */
        remark: string;
        /*分类状态，0禁用，1启用 */
        status: number;
        /*参数类型，0：输入框、1下拉选 */
        type: number;
    };
    /* */
    msg: string;
}
/**
 * 获得参数配置
 * @param {string} id
 * @returns
 */
export function getOrderParam(id: number): Promise<GetOrderParam_1Res> {
    return request.get(`/yfwy/medical-caregiver-param/get/${id}`);
}
// 参数接口
export interface UpdateOrderParam_1Params {
    /*主键 */
    id?: number;
    /*参数名 */
    name: string;
    /*参数key */
    paramKey: string;
    /*参数值 */
    value?: string;
    /*管理后台 - 流程定义审批节点 */
    nodes?: {
        /*角色ID */
        id: Record<string, unknown>;
        /*角色名称 */
        name: string;
    }[];
    /*备注 */
    remark?: string;
    /*分类状态，0禁用，1启用 */
    status: number;
}
/**
 * 更新参数配置
 * @param {object} params 管理后台 - 参数配置
 * @param {number} params.id 主键
 * @param {string} params.name 参数名
 * @param {string} params.paramKey 参数key
 * @param {string} params.value 参数值
 * @param {array} params.nodes 管理后台 - 流程定义审批节点
 * @param {string} params.remark 备注
 * @param {number} params.status 分类状态，0禁用，1启用
 * @returns
 */
export function updateOrderParam(params: UpdateOrderParam_1Params): Promise<ResponseData<any>> {
    return request.put(`/yfwy/medical-caregiver-param/update`, params);
}
